A contact center can support interaction with customers over a variety of media and communication channels including, but not limited to, telephony, faxes, e-mail, web-based or other live support software, social media, instant message, internet chat and/or others. A caller can initiate an inbound communication such as a voice call from a telephone or other communication device. The call can be received at the contact center through a Session Border Controller (SBC). The SBC can send the call to a Session Manager (SM) where the call can be sequenced as an inbound call to the contact center and additional components of the contact center can be added to the call. For example, an Interactive Voice Response (IVR) system may be added to the call. The IVR system can allow the caller to interact with the contact center through a keypad of the caller's phone or by speech recognition and can respond with pre-recorded or dynamically generated audio to further direct the caller. A Communication Manager (CM) may also be added to the call. The CM maintains one or more queues into which the call may be placed to wait for an available or selected human agent to take the call and further communicate with the caller.
At some point while the call is being set up or conducted, a failure may occur. For example, the SM may fail or become temporarily unavailable. Once this failure occurs, components participating in the call, such as the IVR, CM, etc., flush records of the calls, end the call session, and start over. In this case, there is no way for the contact center system to know what the agent may or may not have done. Once the agent hangs up, there is no record that can be appended for end-to-end reporting. For businesses that are outsourcers that get paid by the call, significant revenue can be lost since there is no call record for any calls during the outage. Hence, there is a need for improved methods and systems for reconstructing a call.